package com.woniuxy.service;

import com.woniuxy.dto.RecordDetailDTO;
import com.woniuxy.entity.ServiceRecord;
import com.woniuxy.util.ResponseUtil;

import java.text.ParseException;
import java.util.List;

/**
 * 服务记录服务接口
 * 定义服务记录相关的业务操作方法
 */
public interface RecordService {
    /**
     * 根据状态查询服务记录
     * @param status 记录状态
     * @return 返回指定状态的记录列表
     */
    ResponseUtil queryRecordByStatus(Integer status,Integer userId,String name) throws ParseException;
    
    /**
     * 根据记录ID查询详细信息
     * @param id 记录ID
     * @return 返回指定记录的详细信息
     */
    ResponseUtil queryDetailByRecordId(Integer id);
    
    /**
     * 更新服务记录
     * @param serviceRecord 服务记录对象
     * @return 返回更新操作的响应结果
     */
    ResponseUtil update(ServiceRecord serviceRecord);
    
    /**
     * 更新记录详情
     * @param detail 记录详情对象
     * @return 返回更新操作的响应结果
     */
    ResponseUtil updateDetail(RecordDetailDTO detail);
    
    /**
     * 查询已完成的服务记录
     * @return 返回所有已完成的服务记录
     */
    ResponseUtil queryRecordFinished(Integer userId,String name) throws ParseException;
    
    /**
     * 添加新的服务记录
     * @param record 服务记录对象
     * @return 返回添加操作的响应结果
     */
    ResponseUtil add(ServiceRecord record);
    
    /**
     * 根据居民ID查询所有记录（APP端使用）
     * @param residentId 居民ID
     * @return 返回指定居民的所有服务记录
     */
    ResponseUtil queryAllByResidentIdOnApp(Integer residentId);

    ResponseUtil findPatientsByDoctorId(Integer doctorId);

    ResponseUtil queryByName(Integer status,String name);
    ResponseUtil queryByNameFinished(Integer userId,String name);
}
